package com.jeecms.wicool.entity.groupBuy.base;

import com.jeecms.wicool.entity.groupBuy.GroupBuySpecification;
import com.jeecms.wicool.entity.product.Product;
import com.jeecms.wicool.entity.product.ProductSku;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Set;

/**
 * Created by cuiyanlei on 15/6/9.
 */
public abstract class AbstractGroupBuy implements Serializable {
    private Integer id;
    private String productName;
    private BigDecimal productPrice;
    private String productSpecificationName;
    private String content;
    private Timestamp startTime;
    private Timestamp endTime;
    private int status;
    private String imgURL;
    private Timestamp createTime;
    private Timestamp updateTime;
    private Integer saleCount;

    private Product product;
    private Integer productSku;

    private Set<GroupBuySpecification> specifications;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public BigDecimal getProductPrice() {
        return productPrice;
    }

    public void setProductPrice(BigDecimal productPrice) {
        this.productPrice = productPrice;
    }

    public String getProductSpecificationName() {
        return productSpecificationName;
    }

    public void setProductSpecificationName(String productSpecificationName) {
        this.productSpecificationName = productSpecificationName;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Timestamp getStartTime() {
        return startTime;
    }

    public void setStartTime(Timestamp startTime) {
        this.startTime = startTime;
    }

    public Timestamp getEndTime() {
        return endTime;
    }

    public void setEndTime(Timestamp endTime) {
        this.endTime = endTime;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public Product getProduct() {
        return product;
    }

    public void setProduct(Product product) {
        this.product = product;
    }

    public Integer getProductSku() {
        return productSku;
    }

    public void setProductSku(Integer productSku) {
        this.productSku = productSku;
    }

    public Set<GroupBuySpecification> getSpecifications() {
        return specifications;
    }

    public void setSpecifications(Set<GroupBuySpecification> specifications) {
        this.specifications = specifications;
    }

    public String getImgURL() {
        return imgURL;
    }

    public void setImgURL(String imgURL) {
        this.imgURL = imgURL;
    }

    public Integer getSaleCount() {
        return saleCount;
    }

    public void setSaleCount(Integer saleCount) {
        this.saleCount = saleCount;
    }

    public AbstractGroupBuy() {

    }

    public AbstractGroupBuy(Integer id, String productName, BigDecimal productPrice, String productSpecificationName, String content, Timestamp startTime, Timestamp endTime, int status, String imgURL, Timestamp createTime, Timestamp updateTime, Product product, Integer productSku, Set<GroupBuySpecification> specifications) {
        this.id = id;
        this.productName = productName;
        this.productPrice = productPrice;
        this.productSpecificationName = productSpecificationName;
        this.content = content;
        this.startTime = startTime;
        this.endTime = endTime;
        this.status = status;
        this.imgURL = imgURL;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.product = product;
        this.productSku = productSku;
        this.specifications = specifications;
    }
}
